nlp_architect.models.matchlstm_ansptr.MatchLSTMAnswerPointer

class nlp_architect.models.matchlstm_ansptr.MatchLSTMAnswerPointer(params_dict, embeddings)[source]

Defines end to end MatchLSTM and Answer_Pointer network for Reading Comprehension

__init__(params_dict, embeddings)[source]
Parameters
  • params_dict – Dictionary containing the following keys- ‘max_question’ : max length of all questions in the dataset ‘max_para’ : max length of all paragraphs in the dataset ‘hidden_size’: number of hidden units in the network ‘batch_size’ : batch size defined by user

  • embeddings – Glove pretrained embedding matrix

Methods

__init__(params_dict, embeddings)

param params_dict

Dictionary containing the following keys-

answer_pointer_pass()

Function to run the answer pointer pass:

cal_f1_score(ground_truths, predictions)

Function to calculate F-1 and EM scores

create_model()

Function to set up the end 2 end reading comprehension model

create_variables()

Function to create variables used for training

get_dynamic_feed_params(question_str, …)

Function to get required feed_dict format for user entered questions.

inference_mode(session, valid, vocab_tuple, …)

Function to run inference_mode for reading comprehension

obtain_indices(preds_start, preds_end)

Function to get answer indices given the predictions

run_loop(session, train[, mode, dropout])

Function to run training/validation loop and display training loss, F1 & EM scores

unroll_with_attention([reverse])

Function to run the match_lstm pass in both forward and reverse directions

answer_pointer_pass()[source]

Function to run the answer pointer pass:

Parameters

None

Returns

List of logits for start and end indices of the answer

cal_f1_score(ground_truths, predictions)[source]

Function to calculate F-1 and EM scores

Parameters
  • ground_truths – labels given in the dataset

  • predictions – logits predicted by the network

Returns

F1 score and Exact-Match score

create_model()[source]

Function to set up the end 2 end reading comprehension model

create_variables()[source]

Function to create variables used for training

get_dynamic_feed_params(question_str, vocab_reverse)[source]

Function to get required feed_dict format for user entered questions. Used mainly in the demo mode.

Parameters
  • question_str – question string

  • vocab_reverse – vocab dictionary with words as keys and indices as values

Returns

list of indicies represnting the question padded to max length question_len: actual length of the question ques_mask: mask for question_idx

Return type

question_idx

inference_mode(session, valid, vocab_tuple, num_examples, dropout=1.0, dynamic_question_mode=False, dynamic_usr_question='', dynamic_question_index=0)[source]

Function to run inference_mode for reading comprehension

Parameters
  • session – tensorflow session

  • valid – data dictionary for validation set

  • vocab_tuple – a tuple containing voacab dictionaries in forward and reverse directions

  • num_examples – specify the number of samples to run for inference

  • dropout – Float value which is always 1.0 for inference

  • dynamic_question_mode – boolean to enable whether or not accept questions from the user(used in the demo mode)

static obtain_indices(preds_start, preds_end)[source]

Function to get answer indices given the predictions

Parameters
  • preds_start – predicted start indices

  • predictions – predicted end indices

Returns

final start and end indices for the answer

run_loop(session, train, mode='train', dropout=0.6)[source]

Function to run training/validation loop and display training loss, F1 & EM scores

Parameters
  • session – tensorflow session

  • train – data dictionary for training/validation

  • dropout – float value

  • mode – ‘train’/’val’

unroll_with_attention(reverse=False)[source]

Function to run the match_lstm pass in both forward and reverse directions

Args: reverse: Boolean indicating whether to unroll in reverse directions